/**
 *  http 处理图片 ,  图片、音频 、视频、excel等文件需要用buffer去处理
 * @type {module:https}
 */
const https = require('https');
const fs = require('fs');

let opts = {
    hostname:'www.baidu.com',
    protocol:'https:',
    method: 'GET',
    path: '/img/bd_logo1.png'
}

let client = https.request(opts, res => {

    // 创建指定长度的buffer
    let datas  = Buffer.alloc(0);

    // res = > 其实就是一个 socket， 数据会分包发送
    res.on('data', data => {
        // 合并buffer
        datas = Buffer.concat([datas, data], datas.length + data.length);
    })


    // 在结束后进行写入
    res.on('end', ()=> {

        // 如果存在static文件夹
        let path = __dirname+'/static'
        if(!fs.existsSync(path)){
            fs.mkdir(path,{recursive: true}, err => {
                if(err){
                    throw err
                }else{
                    fs.writeFileSync(path+'/baiduLogo.png', datas)
                }
            })
        }else{
            fs.writeFileSync(path+'/baiduLogo.png', datas)
        }


    })
})

// 请求结束
client.end()